1. Field of the Invention
The present invention relates generally to security of an apparatus having a central processing unit (CPU) for executing a plurality of programs, and more particularly, to an access monitor for monitoring an unjust access between the programs in the apparatus, and an access monitoring method.
2. Description of the Related Arts
In recent years, as an electronic commerce, etc. spreads, an electronic dealing apparatus such as an electronic money terminal, an ATM (Automatic Teller Machine), or the like high in security is acquired. The electronic dealing apparatus installs a plurality of programs such as OS (Operating System), applications, various drivers, and the like, and an built-in CPU executes them. At this time, in order to secure the security of each application, it is necessary that the plurality of applications memorized in a RAM built in the apparatus are isolated from each other. The isolation of the applications is to prevent an unjust access to a memory region of another application in the RAM by execution of a certain application.
FIG. 5 is a configuration diagram of a program installed in an apparatus. In FIG. 5, respective programs such as applications A, B, . . . , drivers A, B, C, . . . , or the like are managed by the OS.
FIG. 6 is a typical diagram of program execution conditions. The plurality of programs to be executed are memorized in a memory (RAM) in the apparatus. The CPU accesses to a memory region corresponding to the program to be executed, and reads out the program to be executed. However, in the prior art, as each program is isolated in software, readout of another program is possible by execution of a certain program by rewriting of the certain program (arrow of a waved line in FIG. 6).
More specifically, as each program operates only one program time-divisionally, it is impossible to completely control operation of a program such as applications, or the like by the OS. Accordingly, when a programmer looks at a memory region of another program intentionally, when the programmer rewrites the program, or a runaway of the executing program occurs, it is possible that an improper or unjust access is readily made to a memory region of another program.
In this manner, in a conventional apparatus, in the case where security information (for example, a password, etc.) is memorized in a memory region by executing a program, an access can be made from the other programs to the memory region, and there is a problem that, if the program is isolated only in software, an absolute isolation between programs is not ensured.
Furthermore, even if a certain program is installed in the apparatus, and the operation is confirmed, when another program is installed therein thereafter, it is impossible to ensure whether to affect the original program, or whether or not the original program operates correctly. Accordingly, after another program is installed therein, operational verification of the original program had to be remade from the beginning.